#pragma once
#include "Protocol.hpp"
#include <iostream>

using namespace protocol_ns;

class Calculate
{

    public:
    Response Excute(const Request& req)
    {
        Response resp(0,0);
        switch(req._oper)
        {
        case '+':
            resp._result = req._x + req._y;
            break;
        case '-':
            resp._result = req._x - req._y;
            break;
        case '*':
            resp._result = req._x * req._y;
            break;
        case '/':
            {
                if(req._y==0)
                {
                    resp._code = 1;
                }
                else
                {
                    resp._result = req._x / req._y;
                }
            }
            break;
        case '%':
            {
                if(req._y==0)
                {
                    resp._code = 2;
                }
                resp._result = req._x % req._y;
            }          
            break;
        default:
            resp._code = 3;
            break;
        }
        return resp;

    }

    private:
};